Managing Report Layouts

DEACOM comes with a standard group of reports or documents that handle essential printouts such as vendor invoice, sales order confirmation, job pick lists, bill of lading, and several others. Customers may use these default reports as delivered when processing transactions and printouts in the system. These reports can be replaced with configurable reports that allow organizations to meet their reporting and document needs. Users cannot add new reports but can modify existing reports. This section of the help system will cover the different Report Layouts available in the system, the setup of the reports, and finally details on designing or configuring company specific versions of these reports.

Layouts are accessed via Print Outs > Maintenance > Report Layouts and the security setting "Printouts -- maintenance" controls access to this area. There is an option to substitute any of the defaults with configurable user versions. The system Report Layout will always be used unless a user version of the layout has been defined. When using the web version of DEACOM, the width, and only the width, of the report is specified via Print Outs > Maintenance > Page Size.

Note that some processes are completed differently depending on if the classic or web version of DEACOM is being used. For those items, in the sections below there will be Classic and Web sub-sections to describe the process and any differences. Additionally, the "Client Rendering" flag under Report Properties should be used going forward as it is required after version 15.02.

Note: Beginning in version 17.02, and when printing to PDF, the system will select the PDF printer based on the below list, ordered by priority, with #1 being the top priority. Note that the names need to match exactly as indicated below as the application will look for the printer by name.

  • Microsoft Print to PDF
  • Deacom PDF Convertor 4
  • Deacom PDF Converter
  • Acrobat PDFWriter
  • Adobe PDF

Configuration

The "Print outs menu" and "Printouts -- maintenance" security settings must be set to "Yes" for users who will build and modify report layouts. Other configuration considerations include access to any company logos or images that will be needed for the various reports.

Classic

During the initial installation of DEACOM several folders are placed within the main folder used to store the application. Two of these folders, "reports" and "addins", are used to store Report Layouts. The "reports" folder contains the default Report Layouts delivered with DEACOM as indicated in the list on the Report Layouts page. The "addins" folder will contain any user Report Layouts, if created by customers.

A mapped network drive to the DEACOM shared folder is required for reports to run. The mapped drive must match the drive letter in the deacom.ini file. The deacom.ini file is created during the initial DEACOM installation. More information regarding the ini file can be found in Installation Guide > DEACOM ini file.

Note that all Report Layouts in DEACOM are comprised of two separate files, an .FRX and .FRT file. As an example, if a user checks the "reports" folder in the main DEACOM application folder and is looking for the files that represent the "invoice" Report Layout, they will see the following files: invoice.FRX and invoice.FRT.

Web

Report objects are saved internally within DEACOM. There are no reports saved in the addins folder like in the classic version of DEACOM.

Process

As previously detailed, DEACOM comes with a standard group of reports, which may be modified to fit the company's needs.

Modifying the details of a default Report Layout

To modify the default settings for a Report Layout:

  1. Navigate to Print Outs > Maintenance > Report Layouts.
  2. Select the report in the list and then click the "Modify" button. The system will present the Edit Printing Default screen. Further details regarding the fields and buttons available can be found on the Report Layouts page. Make changes to these fields as desired.
  3. By default, DEACOM only prints one copy of each report, labeled "Original". If more copies should be added:
    1. From within the Edit Printing Default form, click the "Add" button.
    2. Enter the caption that should print at the bottom of the report (i.e. Customer Copy, Office Copy, Original, etc.).
    3. Click the "Save" button when done.

Adding a User-defined Report Layout

  1. Navigate to Print Outs > Maintenance > Report Layouts.
  2. Select from the list the system report that should be replaced with a user version and click the "Modify" button to open the Edit Printing Default form.
  3. Click the "Edit Report" button to launch the Create User Report Name form.
  4. Enter a name in the "User Report" field. It is recommended to use "u_" before the name to help identify this as a user version. An example would be "u_invoice".
  5. Click the "Save" button on the Edit Printing Default form.

At this point, a user version that is an exact copy of the system default Report Layout has been created and will be used any time this report is printed throughout DEACOM. The next section will cover the design and modification of the user version.

Users can also edit any existing report, click "Export Report" to export a copy, then click "Import Report" to upload a new copy for editing. Additionally, to create a new report from an existing one:

  1. Navigate to Print Outs > Maintenance > Report Layouts.
  2. Select from the list the system report and click "Modify" to open the Edit Printing Default form.
  3. Clear the "User Report" field then save.
  4. Click "Edit Report", enter a new name, then save.

Pro tips regarding exporting include:

  • Modify a report in a test system, and once it is printing as desired, export the file. Then in the production environment, import the file - smooth transition.
  • Frequent exported backups are suggested on Report Layouts and Part Forms that are edited frequently.
  • Add the date of export to the name of the file to keep track of which version it is. Keep in mind that the upload file name is not retained after upload.

Using the DEACOM Report Designer

From within the Edit Printing Default form, click "Edit Report" to open the Report Designer. For information on the properties, controls, and toolbars available for use, refer to the Report Layouts page. To add labels, fields, lines, shapes, and images, use the Report Controls toolbar, which in classic is a floating toolbar that is presented on screen when the Report Designer is launched. The toolbar can be moved by selecting the title bar and dragging the box to the appropriate location. If the reports controls toolbar is not present on screen, or is closed by mistake, it may be opened again by clicking on the "Report Controls Toolbar" icon located on the report designer main toolbar. The "Report Controls Toolbar" is indicated by the image of a hammer and wrench. In web, rather than being a toolbar, the Report Controls are listed as buttons on the left-hand side of the screen. When adding objects to the report, the object's default position is set to the top.

Adding new fields to a Report

Many times in report design there is information that users want to have printed on the report, but don’t know whether it is available, or how to name it properly so that it appears on the printed document. There are a number of tools available to help with this. When printing any document in DEACOM, the user has the option to print the report to Variable Display. Variable Display is an on-screen report that lists all of the variables available to the report. It has two sections:

  • Fields available to the Detail section (line level information on Sales and Purchasing documents).
  • Fields available to the Header section (Order Header fields like "Customer" and "Vendor" information that apply to the entire order).

Each field is displayed with the name that is used to reference the field in the document design, and with example data from the first data record. Many of the printed documents have calculated fields that are only available to that particular document. These fields can only be seen in the Variable Display.

If the field being displayed is coming from another supporting table, then right-clicking the field shows both the index field in the current table and the table and field that is actually being displayed on the form. Quite often, the program making data available to the document will use the same linkage and that field name will be visible in the Variable Display. There is a complete Data Dictionary of all tables and fields within DEACOM, which is available at System > Data Dictionary. The listing also includes the data type and size of each field, which is not available elsewhere.

Modifying the Check Layout Report

Note that the fields on the Check header may not be modified by users. There are three different options regarding the name (l_name) and address (l_street etc..) that appears on the check. These options are: Vendor Group name/address, Remit to name/address, and Vendor name/address. Details regarding these options are listed below. Note that the system evaluates the options in the order they are listed below.

  • Vendor Group - maintained via Purchasing > Maintenance > Vendor Groups and indicated on the vendor master record in the "Vendor Group" field on the Order Defaults tab.
  • Remit to Name and Address - maintained on the Remit to tab of the Vendor master record via Purchasing > Vendors.
  • Vendor Name and Address - maintained on the General tab of the Vendor master record via Purchasing > Vendors.
  • Vendor ID Number - maintained on the General tab of the Vendor master record via Purchasing > Vendors. To have the Vendor ID number printed on the check, the "l_vendid" may be added to the check header section of the check report layout (lazcheck) in DEACOM.

When printing the check, the system will first check to see if the Vendor Group name and address exists. If it does then the Vendor Group name and address will be printed on the check. If the Vendor does not contain a Vendor Group assignment, the system will continue down the list to the Remit to name and address and then the Vendor name and address. To enable it so that only the Vendor name and not the entire Vendor address prints, use this expression: iif(empty(l_rname), l_compname, l_rname).

Using Print When expressions

The "Print When" section is a very useful tool for specifying when and if a label or field will be printed on a report. To use this feature double click the desired label or field box, then enter an expression in the "Print When" field on the Edit form. This tool can be used to:

  • Eliminate non-stocked items from shipping documents.
  • Remove items from a batch ticket based on job level conditions, rather than using the item master property.
  • Customer or vendor specific requirements for SOs, POs, Invoices, Packing Lists, etc. can be built into the standard document and only display when the appropriate combination of conditions are met.
 

Result

Expression

Print label or field only on page 2

pageno=2

Print label or field when "to_remarks" is not empty

not empty(to_remarks)

Print when item id is Not In List

NOT INLIST(or_prid,0,11152)

Print only if shipped

or_qship > 0

To change the logo on a Purchase Order depending on the Facility, add the image to the report, open Properties, and enter the following print when expression: tp_waid=x, where "x" is the Facility id. To find the Facility id, navigate to Inventory > Maintenance > Facilities > click "View All Fields". This expression prints the image when the Facility id matches the id specified in the Print When expression. Add the image to the report in the same spot as many times as necessary, one right on top of the other. Add the Print When expression to the Properties of each image as they are placed on the report.

Print When expressions are especially useful when used in conjunction with the "Remove Lines When Empty" flag. If this is used, the system will eliminate a field, or, if correctly set up, an entire line from the detail band. For this to work:

  • All fields in the detail band must have the flag checked.
  • The band itself must be flagged with "Remove Line When Empty".
  • Conditions for "Print When" must not be met on ALL fields so that None of the fields are selected to be displayed.

If unwanted blank lines are displaying on the report, perform the following actions to remove them:

  1. Double click the label or field box.
  2. In classic, navigate to the Print When tab and check off the box next to "Remove Line When Empty".
  3. Save and exit.

The "Print Repeated Values" option is used to select to either allow repeated values or not on a given report. This flag is useful for Accounting Reports where Account Numbers should be displayed followed by lines of transactions that hit those accounts. If the account numbers should not be displayed for each transaction line on the report, set the flag to "No" by following these steps:

  1. Double click the label or field box.
  2. Navigate to the Print When tab.
  3. In the Print repeated values section, click the radio button next to "No".

Selecting and moving items

To move items within the report, select the label or field box and drag with the mouse to a new location, or highlight and use arrow keys on the keyboard to move to a new location. The ability to move multiple items at once is also possible.

  • The multi-selection of objects in the Report Layout form is done by holding down Ctrl + Shift then dragging the mouse and creating a rectangle. All objects inside the rectangle will be selected and can be acted upon together.
  • Beginning in version 17.01.049, the "Select All" button on the Report Designer toolbar can be used to select all report objects simultaneously so they may be moved, deleted, cloned etc.
  • Users can also hold the Shift key to snap lines to the grid and aid with locking the movement of objects to be vertical or horizontal.

Alternatively, users can hold the necessary keys and click on each desired object. If one object is selected by mistake, continue holding the Ctrl key and click the desired object to remove it from the new 'group'.

To make multiple fields line up nicely, select the field to align and use the header buttons to Align "X" Sides, either Top, Bottom, Left, or Right. DEACOM will align each field to the location of the first field selected.

Beginning with version 16.01, object selection handles overlapping objects with far more versatility.

  • Successive clicks on overlapping objects will cycle through them.
  • Ctrl+ clicks on overlapping objects will select/deselect all.
  • Selected objects can be dragged even if they are obscured by objects in front of them.
  • Double clicking on a selected object will bring up its edit form even if it is obscured by objects in front of it.

Modifying font style or size

Double click the label or field box, make new selections in the "Font Name" and "Font Size" fields. Users can also set the Foreground and Background colors, and Border specifications in this form. To change multiple fields' font styles at once, click Ctrl on the keyboard, then use the mouse and click and drag to select all desired fields. Click the "Modify" button on the toolbar, make changes, then save. Rich Text formatting is also available for font in either "Text" or "Expression" fields. For help formatting Rich Text, visit the Functions and Operators Library page.

Using float and positioning objects

  • If the desire is to have items on a report "float up" to the highest position it can go on a page, make the POSITION "float".
  • The POSITION types of “top” and “bottom” mean that an object will always be positioned exactly as it is placed relative to the top or bottom of the page. This is especially helpful for a company that uses a fixed-position scanner to read barcodes.
  • For multiple floating text boxes that should visually be on the same horizontal plane, but also have variable spacing above them, make a rectangle beneath the variable content. Make it transparent with no border and make it "float". Because the (invisible) rectangle cannot float up un-evenly, this creates a level plane to which the float objects lower on the page can float to evenly.

Using Data Grouping

The data grouping feature is used to group data together by a common element. For example, if the report needed to display information by system lot number, a user would add an "fi_lotnum" data group. This way, specific lot number information could be printed. Some common fields that are used to perform grouping in sales reports are:

  • fi_lotnum - system lot number.
  • fi_userlot - user lot number.
  • or_linenum - sales order line number.
  • lotrecid - unique lot identifier. This field/variable is used in situations where multiple transactions such as issuing or adjusting are performed from the same lot. In this case, new entries or lots will be created that share the same user lot, system lot, and other attributes. The lotrecid allows the system to identify these two different lots/entries. If a data grouping is created using the lotrecid field, then the system will group the lots that share the same information as indicated in the previous sentence. Note that if users wish to group based on QC results, the lotrecid grouping should not be used.
    • Note: For the "salepick" report, using lotrecid in the group by field will prevent system lots printing multiple times because QC Is performed. It also allows a system lot to be printed twice if it is in 2 different locations.

Notes: Almost all sales reports in DEACOM do not use a detail section. Instead, different data groupings are set up to handle how order line or sales item information will be displayed and printed.

To add Data Grouping in web:

  1. Click the "Report Properties" button and navigate to the Data Grouping tab.
  2. Click "Add New", enter a Name and Expression, then save and exit.

Using the Variables feature

The variable feature is used to create user-defined fields for calculations or to store information. A variable could be added that would sum whatever field was needed for the report. For example, if the report needed to sum the quantities for a field, a variable could be added that would sum "fi_quant". Variables are added on reports the same as report fields. Instead of a field name, enter the variable name. Report variables can be set and used in Print When statements. In web, Variables are maintained in the Variables tab, accessed via the "Report Properties" button.

Beginning in version 17.00.009, Report variables on Report Layouts and Part Forms have been enhanced to allow users to specify values prior to printing documents. If this feature is utilized, then the Report Parameters form will be displayed during printing, allowing users to confirm default values, or if necessary enter new ones. Users can also specify if parameter entries are required.

The feature is configured as follows:

  1. Navigate to Print Outs > Maintenance > Report Layouts.
  2. Select the appropriate report and click "Modify".
  3. On the Printing Defaults form click the "Edit Report" button, then the "Report Properties" button.
  4. On the Edit Report from click the "+" symbol on the Variables tab to open the Report Variables form.
  5. Enter a name for the Report Variable.
  6. Next, select an option other than "None" in the "Parameter Type" field. When an option besides "None" is selected, this triggers the system to display the Report Parameters form to the user prior to printing the report.
  7. Select, or enter, appropriate options on the rest of the form. If a user will be required to enter a value for a report variable check the "Required" box.
  8. Save and exit the Report Variables form.
  9. Save and exit both the Edit Report and Printing Defaults forms.
  10. The next time the selected Report Layout is printed the user will perform the following steps:
    1. Click "Print" on the Copies To Print form.
    2. The new "Report Variables" form will be displayed. Required parameters will be marked in blue.
    3. Enter the necessary values or make the appropriate selections and click the "Print" button to complete the printing process.

Notes:

  • Variables work in the title, detail, and header bands. In addition, variables can be evaluated as strings and not just as numbers.
  • Since numeric fields cannot be empty, 0 is treated as not complete in a required numeric field.
  • If values Min/Max values are required for Numeric variables, or if any variable type is marked as required, then the user will be prompted to enter the appropriate values before printing can continue.
  • This form was further enhanced in version 17.00.073 by adding five disabled fields (Part Number, Description, Label For, Lot, and Part Form) which will display above the parameter input fields. These fields allow the user to see what part/part form they are entering values for.

Inserting page numbers

Insert the following on the document where the page number should display:

"Page "+ALLT(STR(_pageno))+" of "+ALLT(STR(_pagetotal))

Adding images to reports

Classic

Reports can print images that are attached to master records in the system. Using the "F_DOCPIC" variable inside of a report will pull an image from the documents database and return the filename of the image or an empty string if the image could not be found. Its parameters are: F_DOCPIC(table, recordid, docdescrip), where

  • table: The master table the document is attached to.
  • recordid: The record id within that table.
  • docdescrip: The description of the picture within the View Docs to pull in.

An example is included below to demonstrate how the image is added to the report.

  1. Attach an image that is openable in Microsoft Paint via the "View Docs" button on a Part's Item Master record, where the Part is marked as "Saleable" on the Properties tab.
  2. Create a Sales Order with the saleable part from Step 1.
  3. Modify a Sales > Order Reporting report, such as the "Quote" or "Invoice" reports, via Prints Outs > Maintenance > Report Layouts.
  4. In the Order Line Detail band, add a new Picture/OLE control via the button in the Report Controls toolbar.
  5. On the General tab, set the Control source type to "Expression or variable name" (meaning the file name is generated from an expression).
  6. Also on the General tab, set the Control source to "F_DOCPIC("dmprod", or_prid, "The description for the Part selected in step 1")". This pulls the document from the Item Master for the Part on the Sales Order line where the document description matches the third argument.
  7. Also on the General tab, change the "If source and frame are different sizes" selection to something suitable. Scale contents retain shape, for instance, will scale the image down to fit within the picture box without distorting it.
  8. Add a Print When expression that hides the picture box if the expression from Step 6 is empty (lacking the image). For example, "F_DOCPIC("dmprod", or_prid, "Label") <> '')".
  9. Print the report from Step 3 for the order from Step 2.
  10. Verify the image was printed.

Web

Users may manually add images using the Rectangle tool. Unlike in classic, images attached to reports in web do not have to be saved in a specific shared folder. An image saved to a user's desktop then uploaded to the report will then be housed in the DEACOM application on the report itself. From within the DEACOM Report Designer:

  1. Click and hold the "Rectangle" button. Drag the mouse to where the image should sit, then release the mouse.
  2. Double click the newly-created rectangle to open the Edit Rectangle form.
  3. Click the folder icon in the "Background Image" field, search for and select the desired image.
  4. Resize the rectangle dimensions, if necessary, then click "Save" and "Exit". The uploaded image should now be visible on the report.

Adding User Fields

For User Fields to correctly show on reports, the correct prefix must be used. For a user field on the order header named u_MyUDF, to pull that into a report the field should be referred to as cUSERTORD.u_MyUDF. Specifically, item master user fields provide companies with a useful tool to add additional information or selection options via the use of list boxes to Item Master records throughout the DEACOM system. The information entered in user fields is also available for printing on many of the Print Outs and labels throughout the system. In order to print Item Master user fields on Report Layouts using the classic version, the user field must be preceded by "cUSERPROD" (this is not necessary in the web version, it gets filled in automatically). Item master user fields are created and maintained via Tools > Edit User Fields. Additional prefixes are as listed in the below table.

Prefix

User Field Location

cUSERBILL

Bill-to UDFs

cUSERCUSTORD

Customer Part Cross Ref UDFs

cUSERORD

SO Line UDFs

cUSERPROD

Item Master UDFs

cUSERSHIP

Ship-to UDFs

cUSERTORD

SO Header UDFs

Previewing Report changes

The "Preview" button in the report menu allows a user to make changes to a report and then preview the effect of those changes without having to exit the Report Designer. Once clicked, the system will display a list of appropriate orders depending on the type of report being edited. From here, the user selects the appropriate order then proceeds to print the appropriate Report Layout. Once finished, the user will exit the previewed report to return to the Report Designer. In addition, a "Print" button has been added to the Print Preview to Screen form, so that after verifying a report, the user can then send it to a printer. Once all changes have been deemed correct, the modifications can be saved by exiting the Report Designer and clicking "Yes" to the prompt.

Configuring font size and type for memo fields

Beginning in version 17.01.003 users have the option to define the font size and type for Memo fields only, via System > Options. The "Memo Box Font Name", and "Memo Box Font Size", fields define the font size and type that will be used in all Memo boxes throughout the system, including user fields with a Field Type of "Memo". This is not the same as a default since the user cannot change the font size or type on the fly in Memo fields. Useful in situations where User-Defined Memo fields need to match the font name and size on generated reports/printouts.

Using the Language feature for Sales and Purchasing Print Outs

The Bill-to/Ship-to and Vendor master records contain a language searchbox which allows specific languages to be set for these records. When documents are printed for orders/transactions that contain these languages, this language will be used in place of others set up in the system and for the appropriate users. This is useful in situations where captions on documents for Customers or Vendors will be different than the language assigned to specific users. This option is only available in web-based versions of DEACOM.

Note: Version 17.00.004 introduces the "Cultures" field to the Edit Language form. This fielddefines the culture used with the specified language. The culture selected will enable the system to use the date/time/number formatting generally defined for that culture when printing a sales report or part form. When printing, the date/time/number formatting will follow that of the Culture set for the Language on the Bill-To or Ship-To, depending on which is assigned to the Language field for the report/part form.

Using widow and orphan control in document design

To prevent important data from being separated across multiple pages, users may utilize "widow" and "orphan" control when designing documents (in other words, preventing the child element from being separated from its parent item). For example, when printing a Picking List for multiple Sales Orders and the document spans across multiple pages, it can be frustrating for half of the details (Part Number, Quantity on Order) to print on the bottom of a page and the other half of the details (Location ID, specific Lot Number) to print at the top of the following page. The "New Page Threshold" field on the Edit Band form is used to combat this. To figure out the New Page Threshold values, locate the elements that should remain together, and strategically set the threshold value according to the application.

  1. Locate the elements in the report that are widowing and being orphaned. As an example, assume there are two Group Headers with conflicting thresholds resulting in the cutoff - Group 3 Header is widowing and Group 4 Header is being orphaned.
  2. Open the orphaned element (the Group 4 Header in this example) to open the Edit Band form and take note of the value in the "Height" field.
  3. Set the "New Page Threshold" to "0".
  4. Click "Save" and "Exit" to close the Edit Band form for the orphaned element.
  5. Open the widowing element (the Group 3 Header in this example) to open the Edit Band form and take note of the value in the "Height" field.
  6. Add together the two element's "Height" values and round this number up to the nearest tenths.
  7. In the "New Page Threshold" of the widowing element (the Group 3 Header in this example), enter the value calculated in step 6.
  8. Click "Save" and "Exit" to close the Edit Band form for the widowing element.

To verify the issue is resolved, generate a Sales Order Picking List that will span multiple pages and verify that all data for one order is contained within one page.

Using the custom Report Layouts feature

Users have the ability to build custom Report Layouts via the Print Outs tab on the Edit Grid Layout form. This option allows users to create unique reports by using data from grids as inputs to specified Print Outs. The steps below describe how to setup and print custom Report Layouts.

  1. Run, for example, an Order Summary report via Sales > Order Reporting.
  2. Click "More" on the toolbar, then click "Grid Layout".
  3. Navigate to the Print Outs tab and click the "Add" (not Add New) button to open the Edit Print Out form.
  4. Enter a Name then click the magnifying glass in the "Report" field.
  5. Click the "Add New" button to open the Report Editing form.
  6. Click "Report Properties" and ensure the document has a Name set.
  7. Add some fields to the new report as desired.
  8. Save the report and close the Report Editing form.
  9. Select the new report in the searchbox of the Edit Print Out form.
  10. Save and close the Edit Print Out form.
  11. On the General tab of the Edit Grid Layout form, set the "Grid For" field to "Specific User" and select the user currently logged in.
  12. Save the Grid Layout.
  13. Click the "Print" button on the grid (via the printer icon on the DEACOM toolbar).
  14. Verify there is a "Copies" and a "Report" field on the form. Use these fields to select the new grid print out/report added.
  15. Select a printer then click "Print".
  16. Verify the report printed out with the new report that was previously selected.

Converting Reports from Classic to Web Versions

The Report Converter program is designed to be run from Classic versions only. The converter will convert reports from Classic version to .Net reports. It will not work with part forms. Users will need to contact Deacom Support to obtain the converter program.

If the transition from Classic to .NET is part of an update into a higher version of DEACOM, it is recommended that you run the report converter *before* updating into the higher version. This will allow any code changes related to reports to work on the converted reports throughout the update path

Preparing the .Net version for Report Converter

  1. The report converter is run in Classic. However, its output is intended for .NET. In order for the output to work correctly, your .NET or web version must be setup accordingly.
  2. Log in to the .NET version of your environment.
  3. Navigate to Print Outs > Maintenance > Report Layouts
  4. Sort the grid by User Report so that all records with a user report come to the top of the Report Layouts grid. All reports with a User Report will be converted by Report Converter. If any of these shouldn’t be converted, you can cut down the time it will take to run by removing the user report to prevent unnecessary conversion.
  5. In the .NET instance, modify each report layout with a User Report to have the exact same values for pr_user (‘User Report’) and pt_name (‘Name’) as in the classic system. Be mindful of not adding spaces to the end.
  6. Log out of the .NET and Classic versions.

Note: If there are multiple Company databases, you will need to repeat this .NET preparation process for each Company database.

Install the Report Converter external

  1. The converter is designed to be run from the Classic version only. 
  2. Copy the convert_reports.FXP file provided by Deacom into the Addins folder which is located in the application folder of your environment.
  3. Login to the DEACOM Classic system
  4. Navigate to Tools > Externals
  5. Click Add 
  6. Enter a name (example: Classic Report Converter)
  7. Enter the program name exactly like this: convert_reports
  8. Click Save and Exit

Note: It is recommended that after running the Report Converter, you remove the external from Tools > Externals, as well as delete it from the Addins folder.

Run the Report Converter

  1. In the DEACOM Classic system navigate to Tools > Externals.
  2. Highlight the report converter and click “Run”
  3. While the Report Converter is running you will not be able to work in DEACOM. Once the converter is finished, there will be a notification that it is finished. Do not disconnect from DEACOM or the server until seeing this message and confirming it is complete by successfully closing the Externals form.

Check that all reports converted & resolve any issues with conversion

  1. Once the report converter has finished, log in to the .NET version of your DEACOM environment.
  2. Navigate to Print Outs > Maintenance > Report Layouts.
  3. Open each report that contains a User Report in edit mode.
  4. You will see that the reports have been converted. If there are any that appear to have failed, you will need to fix the cause of the failure in Classic, re-run the report converter, and check again. 

FAQ & Diagnostic Tips

Tips:

  • Beginning in version 14.2.96 of DEACOM , when running on Windows 10 PCs, the Microsoft Print to PDF printer is now the preferred printer, when available, instead of the Deacom PDF Converter.  Users will not need to make any changes. The system will check to see if the Microsoft Print to PDF printer is available when users attempt to print to PDF or email in DEACOM.
  • The "Limit Float to Objects Directly Above" field on the Edit Report form will restrict rectangle, field, and line objects to only shift relative to the objects or fields directly above it instead of all objects/fields which could be affected by the current one, such as those below the object/field. Only applies when the value in the Position field is set to "Float "for this object.
  • All purchase order line information, including purchase order line user-defined fields are available to all purchase order reports in DEACOM.
  • The stockunit variable is available to Formula report.
  • The "or_backquant" field is now available to the Sales Packing List. If added to the report, this field will display the back ordered quantity for the selected sales order.
  • The "netreq" variable on the Job Picklist is equal to the total quantity of that item required, based on its BOM, for the job selected.
  • When printing the Freight Quote (report type : delivery), any phantom parts on the report will display by their BOM rather than by the phantom part itself.
  • To ensure all objects on a report line up exactly, use the coordinates fields (Top, Left, Width, Height) in the Edit Field Grid to enter exact dimensions.
  • Master Lot information, via the "dtmasterlot" table, is available to the Bill of Lading and Packing List report layouts. This information is useful in situations where customers are looking to group their packing list and bill of lading reports by Master Lot name. 
  • The Item Master header "pr_user 1-4" fields are available to the formula Report Layout as "l_user1-4".
  • All user-defined fields on Formulas (BOM Revision) are available to print on batch tickets.
  • In DEACOM web versions, Sales Order header calculations are available to the variables tab on the Report Properties form.
  • To move a report from training to production, copy the user report name .FRX and .FRT files from the "training\addins" folder to the "production\addins" folder. Make a backup of existing production files by renaming in case they are needed in the future.
  • To create new reports from an existing report:
    • Copy and paste the .FRX and .FRT files for the existing report in the addins folder.
    • Rename to the new report name.
    • From within DEACOM setup print substitutions or modify base report to reference the new report.
  • The "i_user1-5" (pr_user1-5) fields are available to the batch record reports.
  • All dmterm fields linked from the dmship table (dmterm.te_id = dmship.sh_teid) are available to the billstate1 report.
  • When building reports, confirm the reports print correctly to all printers, including the PDF printer. Make the necessary modifications to the report so it works correctly when using Print to PDF and Print to Printer.
  • If there is too much white space on your reports, complete the following:
    • Drag all the bands as high as they can go so there is no extra space.
    • Shrink the text boxes so that there are no white spaces in them.
    • Minimize the space between text boxes so they barely overlap.
    • Add print when statements so certain text boxes do not print if there is no data in them.
    • Note: There is also an option in the report bands themselves to remove lines when empty. Reference the Using Print When expressions section above for more information.
  • If there needs to be extra white space at the top of Report pages 2 and greater so staples do not cut off information, complete the following:
    • Create a label box in the page header and populate it with a period.
    • In the Style tab, change the foreground color to white.
    • In the Print When tab, check the "Remove line if blank" box and add the following to the Print When formula "_pageno > 1".
    • Save the report.
  • If the summary should print on a new page, on the Report Layout, select Reports > Optional Bands and check the "Summary prints as a new page" box. If one of the detail bands should print on a new page, right click on the detail band, select Properties and click the "Start on new page" box.
  • In web versions, users may insert Page Breaks as desired by clicking and dragging the "Page Break" button to where the desired break should occur on the report.
  • If the text in a field is getting cut off (for example, the part descriptions are long and the entire description is not printing on the report), change the column width of the field in the grid layout so that it displays all characters in the field (meaning the grid layout of the form from which the report is being printed). Or, check the "Stretch with Overflow" flag in the Field Properties form. This should then display the entire text in the field on the report.
  • To get multiple pages to print at the end of the report, add multiple data groupings for the same grouping. For example, on a batch ticket add "m.jo_jobnum" so there will be a page footer for each section.
  • If the report (e.g. Sales Order Confirmation or Invoice) prints the company name from the "gc_Compname" field and you wish to change it, navigate to System > Maintenance > Company Databases and change the Description ONLY. DO NOT CHANGE THE NAME FIELD OR THE DOCUMENT DB FIELD. If you have multiple company databases, you will need to change the Description for each one as necessary. For example, if the description of your main company database is currently "ABC Company, LLC", you can change it to "ABC Company, Inc." and that is what will print on the documents.
  • In classic versions, to replace a logo or other graphic on a report without modifying the report design, get a new logo that is the same size as the old one. Save it in the Addins folder with the same name and the report will then print the new logo.
  • The "toolbox" report (printed when selecting the "Print" button on the toolbar) strings all of the fields on the grid together when printing. When there is a carriage return in a field, the report will put the carriage return into the line it is trying to print. This drops the subsequent fields onto the next line, preventing these fields from printing on the report. If there is only one user-defined field on the grid, you can move it to the last column of the report. Or, you can remove the carriage returns using an expression similar to "ALLT(LEFT(STRTRAN(STRTRAN(to_notes,CHR(10)," "),CHR(13), " "), 30))".
  • If you want to print both the Ship-to and Bill-to names in the Ship-to address block on reports such as Receipts or Confirmations, use the following expressions in the corresponding fields to only print the Bill-to name if it is different from the Ship-to name and prevent a blank line from appearing if they are the same:

Field

Expression

Ship-to Name

sh_name

Bill-to Name (if different)

IIF(m.sh_name = m.bi_name, m.sh_street, m.bi_name)

Street

IIF(m.sh_name = m.bi_name, m.sh_street2, m.sh_street)

Street2

IIF(m.sh_name = m.bi_name, ALLT(m.sh_city)+', '+ALLT(m.sh_state)+' '+m.sh_zip, m.sh_street2)

City, State, Zip

IIF(m.sh_name = m.bi_name, m.sh_email, ALLT(m.sh_city)+', '+ALLT(m.sh_state)+' '+m.sh_zip)

Email

IIF(m.sh_name = m.bi_name, " ", m.sh_email)

I am getting report prompts similar to "Picture is not found" and Syntax error - Expression '<xxxxxx>''' is invalid. What is the problem?

This report prompt is generated when an expression is invalid. Update the expression indicated in the prompt and, once corrected, the report should print successfully.

I am unable to print a report with a graphic on it. I'm getting prompts indicating the system is looking for a graphics file (i.e. a bitmap or .bmp). What should I do?

Make sure the graphics file (e.g. company_logo.bmp) is in the DEACOM Addins folder. Edit the report and change the path of the logo to the path of the Addins folder (e.g. t:\Deacom\Addins\company_logo.bmp). You can also try deleting the graphic from the report and re-adding it.

I’m unsure if a field is available to be printed on the report. How can I tell for sure?

Print the report to Variable Display by changing the "Print To" option to Variable Display when printing. This will provide a comprehensive list of all fields available to the header and body of the report.

I get and “Invalid Expression” error when printing my report.

Verify no new expressions were added since the last time printing. If new expressions were added, troubleshoot what would cause them to be invalid by using the Functions and Operators Library.

I am receiving a logged system error when trying to print a report. The report has been configured in my system. How should I proceed?

Follow the steps below to diagnose the issue:

  1. Set your report to the default system report (please reference section above) and validate that this report prints correctly. If the system default report does not print correctly, contact the Technical Support team.
  2. If your system report is printing correctly, put your report back in the user report field. Then narrow down the problem by comparing the two reports. Look for differences in variables or calculations.
  3. Finally, if that method fails, start removing sections, test printing between each "removal", until you can identify the section that is causing the error. Make sure you make a backup copy of the customized report before you start the diagnostic process.

I am receiving a prompt that states "Cannot find report" when trying to print a report. What do I do?

The prompt indicates that the report is not available. To diagnose the problem, do the following:

  1. Verify mapped drive for the DEACOM directory is available and mapped correctly. The drive letter must be the same as the letter used for all users.
  2. Verify the report is in the Addins folder.
  3. Verify the user has the correct permissions setup.

I am encountering a prompt that states "File access denied" or "User is modifying the report". How can I continue to get my report printed?

To diagnose the problem, complete the following steps:

  1. Verify that the DEACOM\addins folder has read and write permissions enabled.
  2. On the server, go to Computer Management in Windows (accessible by right clicking Computer on the desktop and then click Manage). Navigate to System Tools > Shared Folders > Open Files. If the files are displayed here, first ask your users to close the report. If no users are modifying the report, then you can manually kill the lock from the Computer Management tool.

My report seems to be printing an incorrect field. How can I diagnose the issue?

Follow the steps below to troubleshoot the issue:

  1. Modify the report through Print Outs > Maintenance > Report Layouts. Select the report you'd like to edit and then click the "Edit Report" button.
  2. Double click on the field that is not showing the correct information and view the logic contained in the "Expression" field. This logic will determine the calculation and formatting for the field.

A specific field is not appearing on the report. How can I get it to print?

Check if a specific "Print When" statement has been setup on the field that is causing it not to appear. To do this, double click on the field within the Report Layout.

I am unable to modify a report because a Windows Open File window is prompting me to select a file. What do I do?

The report has an image on it that the system can't find. It could be that your computer is not mapped to the location where the image is stored in the same way as the person who originally inserted the picture, the picture may be on that person's local machine, or you don't have access to the network folder where the image is stored. Either request access to the appropriate network folder or ask for a copy of the image to be saved in the Addins folder. Then edit the report and change the path of the image to the path of the Addins folder.

I am unable to print a specific report. How can I fix this?

Follow the steps below to diagnose the problem:

  1. Attempt to print the report to a different printer. If the report prints successfully, the problem lies in the connection to the specific printer.
  2. Attempt to print the report to the screen. If the report print successfully to the screen, the problem lies in the connection to any printer.
  3. Attempt to print the report from another computer.
  4. Attempt to print the report from a different Windows account on the same computer. If the report prints successfully, this indicates that it is a problem with the user's account. If report still does not print, ensure that the printer drivers are up to date.
  5. Attempt to print the default Report Layout from the system as per the steps noted above. The issue could be related to a configured report setup.

My reports are printing to a printer other than the one I selected. What is wrong?

Please verify that the Print Destination has not been specified on the report setup and the Save Printer Environment box is not checked on the page setup of the report. The Save Printer Environment checkbox is also available via Report > Properties > Page Layout tab.

What does the m. in front of report variables mean?

The m. indicates a memory variable. The differentiation is needed in some reports where the memory variable is a header variable and an identically named field (without the m.) is available to the detail lines in the report. The m. indicates the header variable. The best thing is to reference the variable display for the proper name to use.

How can I print the last credit note on my Sales Order?

Put the following expression in your report to print the last credit date and note: ALLT(LEFT(m.bi_collect, (AT(CHR(13),bi_collect, 3)-1))).

Notes are printing on my invoice but I cannot find them. How do I figure out where they are?

Below is a list of note fields available to the Sales Order. You can modify the report to determine what fields are on the report which will narrow the search.

  • or_notes - Notes on each line.
  • pr_notes - Notes on each item master.
  • cu_notes - Notes on each customer part cross reference.
  • to_notes - Notes on the order header.
  • bi_notes - Notes on the Bill-to customer.
  • sh_notes - Notes on the Ship-to customer.

A user-defined order header field was added to a sales report but it is not printing, why?

Make sure to put m. in front of the user field. Also run the report using Variable Display to confirm field names to use when creating reports.

The field "tp_deltime" is not displaying correctly on reports. What is the correct syntax for time fields?

Click the format tab, enter 99:99 in the format expression field.

How do I print today's date as the ship date if my order is not shipped?

Use the following logic: IIF(EMPTY(to_shipped), date(), to_shipped).

Is there a preview option in the DEACOM Report Designer to see the effect of the changes I have made to a layout?

In the classic version of DEACOM there is no way to accomplish this. The Report Layouts are designed to read the data from the corresponding transactions or orders within the main application and therefore do not have any sample data to use for generating a preview. Users will need to save their changes, exit the report designer, and print the report within the main application to see the effect of the changes that have been made. In web versions of DEACOM, the "Print Preview" button can be used to see the effects of layout changes.

I removed a Print When expression from the field, but it no longer prints. What am I missing?

This can be caused by an issue with the FoxPro report writer code. Sometimes if you remove a Print When expression from the field, FoxPro doesn't re-enable the other options in the Print When tab of the Field Properties form. If this is the case, try the following:

  1. Copy a working field on the report, rename the field, and remove the Print When expression from it.
  2. Make a new field that is a 'copy' of the field that isn't printing.
  3. If these don't work, please contact Technical Support.

What expression/date calc can I use if I want to print the Julian Date on a report?

Julian Date: ALLT(RIGHT(STR(YEAR(fi_lotdate),4,0),2)+PADL(ALLT(STR(fi_lotdate-DATE(YEAR(fi_lotdate),1,1)+1,3,0)),3,'0')).

This expression will generate in the YYDDD format. If you want the date in the YDDD format, use the following expression:

Julian Date: ALLT(RIGHT(STR(YEAR(fi_lotdate),4,0),1)+PADL(ALLT(STR(fi_lotdate-DATE(YEAR(fi_lotdate),1,1)+1,3,0)),3,'0')).

What does the "netreq" variable on the job picklist represent?

"Netreq" indicates the total required.

Why are the BOM notes not printing on batch ticket?

If notes were added to the formula after job was created, you will need to reselect part and revision on open jobs to pull the updated formula with notes. Also confirm bo_notes is in the detail section of the batch ticket report.

Can I add Bill of Material and Job Work Flow information to Batch Tickets?

Yes, the "BOM Work Flow Text" and "Job Work Flow Text" fields in Inventory Options can be used to add Work Flow information to job documents, including Batch Tickets.

What does the job picklist variable "lc_revisionname" print based on?

The "lc_revisionname" field represents the revision name for the first job line.

How is the "poqc_item" variable used on purchasing reports in DEACOM?

The "poqc_item" field stores quality control information, such as test results, for the items listed on purchasing reports. The information in the "poqc_item" variable is reported once per item, not once per lot.

Why is my batch ticket not printing the proper quantities?

Verify the items on the BOM are setup correctly. For example, is the weight and density for the items correct. This would affect total weight (totwgt) and total volume (totvol). Also check the bom calculations on the report to help determine if the results are coming from a special calculation.

How do I get lot and quantity information to print on batch ticket after issuing?

To add lot number and quantity information to your batch ticket you need to add the lotnum field to your batch ticket report. The lotnum field is defined via Inventory Options in the "Lot Info Text" field. Below is an example.

"Loc: " + ALLT(fi_loc) + " Lot: " + ALLTRIM(fi_userlot) + " Qty: " + TRANS(INT(fi_quant), "99,999")

Can I display the full lot quantity on sales Print Outs, such as a bill of lading, for a user lot if it is reserved more than once for the same user lot?

Yes. To accomplish this, add the following variables in the report properties:

Name

Expression

Initial Value

Calculation Type

r_lotquant

IIF(r_syslot<>fi_lotnum,fi_quant,0)

0

sum

r_syslot

fi_lotnum

0

none